#include "../mqcommon/mq_helper.hpp"

void test1()
{
    zymq::FileHelper helper("../mqcommon/mq_logger.hpp");
    DLOG("是否存在: %d", helper.exists());
    DLOG("文件大小: %ld", helper.size());

    // 给定一个路径下的文件
    // 文件不存在则先查看路径是否存在
    // 路径也不存在的话，则依此创建路径，最后再创建该文件
    zymq::FileHelper tmp_helper("./a/b/c/tmp.hpp");
    if (tmp_helper.exists() == false)
    {
        std::string path = zymq::FileHelper::parentDirectory("./a/b/c/tmp.hpp");
        if (zymq::FileHelper(path).exists() == false)
        {
            zymq::FileHelper::createDirectory(path);
        }
        zymq::FileHelper::createFile("./a/b/c/tmp.hpp");
    }

    std::string str;
    helper.read(str);
    // DLOG("%s", str.c_str());
    tmp_helper.write(str);
}

void test2()
{
    zymq::FileHelper tmp_helper("./a/b/c/tmp.hpp");
    char str[16] = {0};
    tmp_helper.read(str, 8, 11);
    std::cout << str << std::endl;

    tmp_helper.write("12345678901", 8, 11);
}

void test3()
{
    zymq::FileHelper tmp_helper("./a/b/c/tmp.hpp");
    tmp_helper.rename("./a/b/c/test.hpp");
}

void test4()
{
    zymq::FileHelper::removeFile("./a/b/c/test.hpp");
    
}
void test5()
{
    zymq::FileHelper::removeDirectory("./a");
}

int main()
{
    // test1();
    // test2();
    test5();

    return 0;
}